﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Resources;

namespace Resource_Objects
{
    /// <summary>
    /// Represents a set of resource files with the same content but for different culture.
    /// For instance it may represent a collection of resx with the same base name but with different culture suffix (eg. en-US)
    /// </summary>
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "The fact that this implements ICollection is coinsidental. Maybe this will be changed.")]
    public class ResourceBundle : IEnumerable<ResourceSet>, ICollection<ResourceSet>
    {
        private readonly IDictionary<string, ResourceSet> contents = new Dictionary<string, ResourceSet>();

        public void CultureRemove(string culture)
        { 
            //this.contents[culture]
        }

        #region ICollection<ResourceSet> Members

        public void Add(ResourceSet item)
        {
            throw new NotImplementedException();
        }

        public void Clear()
        {
            throw new NotImplementedException();
        }

        public bool Contains(ResourceSet item)
        {
            throw new NotImplementedException();
        }

        public void CopyTo(ResourceSet[] array, int arrayIndex)
        {
            throw new NotImplementedException();
        }

        public int Count
        {
            get { throw new NotImplementedException(); }
        }

        public bool IsReadOnly
        {
            get { throw new NotImplementedException(); }
        }

        public bool Remove(ResourceSet item)
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IEnumerable<ResourceSet> Members

        public IEnumerator<ResourceSet> GetEnumerator()
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IEnumerable Members

        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            throw new NotImplementedException();
        }

        #endregion

        #region ICollection<ResourceSet> Members

        void ICollection<ResourceSet>.Add(ResourceSet item)
        {
            throw new NotImplementedException();
        }

        void ICollection<ResourceSet>.Clear()
        {
            throw new NotImplementedException();
        }

        bool ICollection<ResourceSet>.Contains(ResourceSet item)
        {
            throw new NotImplementedException();
        }

        void ICollection<ResourceSet>.CopyTo(ResourceSet[] array, int arrayIndex)
        {
            throw new NotImplementedException();
        }

        int ICollection<ResourceSet>.Count
        {
            get { throw new NotImplementedException(); }
        }

        bool ICollection<ResourceSet>.IsReadOnly
        {
            get { throw new NotImplementedException(); }
        }

        bool ICollection<ResourceSet>.Remove(ResourceSet item)
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IEnumerable<ResourceSet> Members

        IEnumerator<ResourceSet> IEnumerable<ResourceSet>.GetEnumerator()
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
